<?php
/**
 * Controller_Ajax
 *
 * Класс Controller_Ajax отвечает за обработку ajax-обращений
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class Controller_Ajax extends Controller_Base {

	public $arrReturn = null;
	public $usePlainText = false;

	public function __construct(&$arrRequest, $useContentHeader = true) {
		if ($useContentHeader) header('Content-Type: text/javascript; charset=utf-8');
		parent::__construct($arrRequest);
	}
	
	/**
	 * Выбираем действие исходя из URL ++++
	 *
	 */
	public function action() {
		$this->actionSwitch();
		if (!$this->error) 	echo json_encode($this->arrReturn);
		else $this->showError();
	}
	
	/**
	 * Функция определяет, какое именно действие необходимо осуществить
	 *
	 */
	public function actionSwitch() {
		throw new Exception('', 404);
	}
	
	/**
	 *
	 * Создает стандартную ошибку для отправки клиенту (при возврате JSON)
	 * @param string $errText
	 */
	public function makeStandardError($errText) {
		$this->arrReturn = array('result' => 'error', 'error' => $errText);
		return false;
	}	
}